package com.darker.listener;



import java.util.Vector;

/**
 * 事件源是事件对象的入口，包含监听器的注册、撤销、通知
 */
public class EventSource {

    // 监听器列表，监听器的注册则加入此列表
    private Vector<EventerListener> listeners = new Vector<>();

    public void addListener(EventerListener listener){
        listeners.add(listener);
    }

    public void removeListener(EventerListener listener){
        listeners.remove(listener);
    }

    // 接受外部事件
    public void notifyListenerEvents(EventerObject eventObject){
        for (EventerListener eventListener : listeners){
            eventListener.handleEvent(eventObject);
        }
    }
}
